In video coding, intra coded frames are encoded without dependency on other frames allowing these frames to be decoded independently and to be used, for example, as random access points for fast forward and fast rewind video play. An image frame or picture, such as an intra coded frame, may be coded in units of a Largest Coding Unit (LCU). A LCU may be a 128×128 block of pixels, a 64×64 block, a 32×32 block or a 16×16 block. An LCU may be encoded directly or may be divided into four smaller Coding Units (CUs). In turn, a CU may be encoded directly or may be further sub-divided. The smallest CU typically corresponds to an 8×8 block of pixels or pixel positions.
To facilitate the prediction of pixel values, each CU of size 2N×2N may be divided into different sized Prediction Units (PUs) in which pixel values may be intra predicted based on other pixel values in neighboring PUs in the same frame or picture. For intra coding, a 2N×2N CU may be encoded in one 2N×2N PU or in four N×N PUs. For example, a 32×32 LCU may be divided into four 16×16 CUs each of which may, in turn, be divided into four 8×8 PUs for the purposes of intra prediction. In addition, for color pictures, such as pictures coded in a YUV 4:2:0 format, an 8×8 PU may correspond to one 8×8 luma block Y and two smaller 4×4 chroma blocks U and V.
Typically, luma and chroma blocks are intra predicted independently of each other. Thus, conventionally, luma pixel values are predicted from reconstructed luma pixel values of neighboring PUs, while chroma pixel values are predicted from the reconstructed chroma pixel values of neighboring PUs. However, the information contained in luma and chroma blocks of a PU may not be completely independent as they may exhibit similar structural features such as object textures, and so forth. What are needed are techniques for leveraging similarities between luma and chroma blocks to aid in pixel prediction during encoding and/or decoding processes.